#pragma once
#include <xpam/point.h>
#include <xpam/enumeration.h>
#include <xpam/system/virtual_key.h>
namespace xpam
{
    namespace system
    {
        class user_io
        {
        public:
            static point<int> cursor_position();

            static point<int> caret_position();

            // true == down; false == up
            static bool key_state(virtual_key vk);

            static void key_down(virtual_key vk);
            static void key_up(virtual_key vk);

            static void key_type(virtual_key vk) { key_down(vk); key_up(vk); }
            static void key_type(virtual_key vk1, virtual_key vk2) { key_down(vk1); key_down(vk2); key_up(vk2); key_up(vk1); }
        };
    }
}